下拉式選單、必填欄位ˋ預設值 ...,這些都是我們現實中常遇到的欄位,我們來擴充原有的圖書館系統吧。
系統越來越龐大時,除錯技巧及越來越重要,這邊分享一個查看現有所有 Models 的方法,這邊以 Book model 為例。
確認進入 Developer Mode,再來進入 Settings (左上角),接著 Technical > Database Structure > Models,你就會看到下圖,翻找看看吧 : )
特別提幾個
這邊用來表示書本的型態,是紙本、電子書之類的,第一個參數用 List[tuple(value, label)]
,label
也就是選項的顯示名子,而欄位名稱則是第二個參數 "Type"。
# library_app/models/library_book.py
...
book_type = fields.Selection(
[("paper", "Paperback"),
("hard", "Hardcover"),
("electronic", "Electronic"),
("other", "Other")],
"Type",
)
這邊提幾個沒這麼直觀的:
notes = fields.Text("Internal Notes")
descr = fields.Html("Description")
# Numeric fields:
copies = fields.Integer(default=1)
avg_rating = fields.Float("Average Rating", (3, 2))
想了解更多可以參考 ORM API